package cn.wgspring.wedding_helper.model

import androidx.compose.runtime.mutableStateOf
import kotlinx.serialization.Serializable
import kotlinx.serialization.Transient

// 婚礼当天物品检查清单项
@Serializable
class CheckListItem(
    val id: Int = -1,           // 物品唯一ID，用于持久化与排序
    val name: String,           // 物品名称
    val userGroup: String,      // 使用方（新娘、新郎、伴娘等）
    val purpose: String,        // 物品用途和使用时间
    val location: String,       // 送达及保管地点
    val confirmed: Boolean = false,  // 是否已确认
    val userDefined: Boolean = false, // 是否用户自定义的项目
    val isDeleted: Boolean = false    // 是否已删除
) {
    @Transient
    private val confirmedState = mutableStateOf(confirmed)
    
    @Transient
    var isConfirmed: Boolean
        get() = confirmedState.value
        set(value) {
            confirmedState.value = value
        }
}